1. Field of the Invention
The present invention is directed to technology for monitoring transactions in a computing environment.
2. Description of the Related Art
As the Internet's popularity grows, more businesses are establishing a presence on the Internet. These businesses typically set up web sites that run one or more web applications. One disadvantage of doing business on the Internet is that if the web site goes down, becomes unresponsive or otherwise is not properly serving customers, the business is losing potential sales and/or customers. Similar issues exist with Intranets and Extranets. Thus, there is a need to monitor live web applications and web sites to make sure that they are running properly.
One particular scenario that web application developers seek to avoid is a task that runs too slowly. For example, it may be expected that a task will take a fraction of one second to complete its functions; however, due to something going wrong, the task executes for thirty seconds. A task running too slowly can degrade performance of a web site, degrade performance of a web application, and cause an application to fail, or cause a web site to fail. Thus, there is a need to avoid poorly performing tasks.
When an application is performing poorly, the developer or administrator usually attempts to debug the software to figure out which code is causing the performance issues so that code can be fixed. While it is usually easy to detect when an application is performing poorly because the response time is noticeably slower, it is often very difficult to determine which portion of the software is responsible for the poor performance. Even if the developer can determine which method, function, routine, process, etc. the application was performing when the issues occurred, it is not clear whether the problem was because of that method, function, routine, process, etc. or another method, function, routine, process, etc called by that method, function, routine, process, etc.
Thus, there is a need to improve the ability to determine which portion of the software is responsible for an application performing poorly.